package ipt.pru.tema5;

import java.util.Scanner;
/**
 * 
 * @author alumno9
 * @author alumno10
 * @author alumno11
 * @author alumno12
 * @version 1.0
 */

public class CalculadoraF3 {
	/**
	 * Funcion que recibe dos numeros y un signo y develve el resultado
	 * @param a		Operador uno.
	 * @param b		Operador dos.
	 * @param s		Signo de la operacion.
	 * @return double 	Resultado de la operacion.
	 */
	
	public static double calc(double a, double b, String s){
		
		double resul=0;
		if("%".equalsIgnoreCase(s)){
			resul=a%b;
		}else if("*".equalsIgnoreCase(s)){
			resul=a*b;
		}else if("-".equalsIgnoreCase(s)){
			resul=a-b;
		}else if("+".equalsIgnoreCase(s)){
			resul=a+b;
		}else{
			System.out.println("No se que has metido pero no es un signo aceptado.");
			}
		return resul;
	}
	
	
	/**
	 * Metodo que recoge el signo que nos introduce por teclado
	 * 
	 * @return String 	Signo de la operacion deseada.
	 * @return String Signo de operacion elegido.
	 */
	
	public static String LeerOpcion(){
		String opcion="";
		Scanner sc=new Scanner(System.in);
		try{
			opcion=sc.nextLine();
			
		}catch(Exception e){
			System.out.println("No has introducido un dato valido");
			opcion="Error";			
		}
		//Comprobamos la variable
		return opcion;
	}
	/**
	 * Metodo que recoge y devuelve los numeros introducidos.
	 * @return double	Numero escrito por teclado.
	 * Metodo que recoge y devuelve los numeros introducidos
	 * @return double	Numero tecleado.
	 */
	public static Double LeerNumero(){
		String opcion="";
		double numero=0;
		Scanner sc=new Scanner(System.in);
		try{
			opcion=sc.nextLine();
			numero = Double.parseDouble(opcion);
		}catch (Exception e) {
			// TODO Auto-generated catch block
			System.out.println("El formato del numero introducido no es correcto. Por favor introduzcalo correctamente");
			}
		return numero;
	}
	/**
	 * Metodo que realiza las preguntas para que el usuario sepa que debe introducir.
	 */
	
		public static void preguntas(){
		String parametro="";
		double primern=0;
		double segundon=0;
		do {
		
		  do{
			System.out.println("Bienvenido a la calculadora de la fila 3: ");
			System.out.println("Suma: +		Resta: -	 Multiplicacion: *     Modulo: %");
			System.out.println("Salir: #");
			System.out.println("Escribe el signo de la operacion: ");
			parametro=LeerOpcion();
		    }while( !"+".equalsIgnoreCase(parametro) & !"-".equalsIgnoreCase(parametro) & !"*".equalsIgnoreCase(parametro) & !"%".equalsIgnoreCase(parametro)& !"#".equalsIgnoreCase(parametro));
		if("#".equalsIgnoreCase(parametro)){
			break;
		}
		  do{
			System.out.println("Escribe el primer numero");	
			primern=LeerNumero();
			}while(primern==0.0);
		  do{
			System.out.println("Escribe el segundo numero");
			segundon=LeerNumero();
		    }while(segundon==0.0);
		System.out.println("El resultado es: " + primern + parametro + segundon + " : " +calc( primern, segundon, parametro));
		System.out.println("");
		System.out.println("");
		   }while(!"#".equalsIgnoreCase(parametro));
	}
		public static void main(String[] args) {
		// TODO Auto-generated method stub	
		preguntas();
}
	}
